From 8940118dd22c5f2ab680ef8036bcfafecc5696ab Mon Sep 17 00:00:00 2001 From: Adam Soltys Date: Thu, 7 Dec 2023 22:34:23 -0800 Subject: password reset --- src/routes/(app)/reset/[code]/+page.server.js | 30 +++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100644 src/routes/(app)/reset/[code]/+page.server.js (limited to 'src/routes/(app)/reset/[code]/+page.server.js') diff --git a/src/routes/(app)/reset/[code]/+page.server.js b/src/routes/(app)/reset/[code]/+page.server.js new file mode 100644 index 00000000..92ad1d0f --- /dev/null +++ b/src/routes/(app)/reset/[code]/+page.server.js @@ -0,0 +1,30 @@ +import { fail, redirect } from "@sveltejs/kit"; +import { fd, post, login } from "$lib/utils"; + +export const actions = { + default: async ({ cookies, params, request }) => { + let ip = request.headers.get("cf-connecting-ip"); + let error; + + let { code } = params; + let { password } = await fd(request); + + try { + let user = await post("/reset", { code, password }); + user.password = password; + + try { + await login(user, cookies, ip); + error = null; + } catch (e) { + error ||= e.message; + } + + if (error) return fail(400, { error }); + throw redirect(307, `/${user.username}`); + } catch (e) { + console.log(e.message); + return fail(400, { error: e.message }); + } + }, +}; -- cgit v1.2.3